home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-10-16 | 16.3 KB | 510 lines | [TEXT/CWIE] |
- ========================================================================
- Metrowerks MSL Version 2.2 Release Notes
- ========================================================================
-
- Version: Metrowerks CodeWarrior Pro 2
- Date: October 15, 1997
- Author: Vicki Scott, Michael Marcotty, Matt Fassiotto, Ron Liechty
- ========================================================================
-
-
-
- ========================================================================
- New Features in This Version
- ========================================================================
-
- * Improved math functions:
- - Fixed many bugs in math.h
- - Complex library was completely rewritten for improved
- functionality and correctness on all platforms
- - Partial implementation of C9X (fenv.h) fpu interface on x86
- feset/getround, fetest/clearexcept, feset/getenv
- - scalb, logb, round, rint are new functions on x86
- - Added macros: HUGE_VALF, NAN, INFINITY, and HUGE_VALL on all
- platforms
-
- * A windows console application now stops before exiting so that
- output can be seen. See notes below on how to turn this feature
- off.
-
- * Multi-target project files to build all variations of the libraries
- for all platforms. See notes below for more information on these
- new multi-target project files.
-
- * Support for default template arguments and explicit keyword in the
- C++ library functions.
-
- * Removed the need to include ansi_prefix files in the project file
- preferences. The ansi_prefix file is now included directly in the
- headers that need them.
-
- * Operator new now throws an exception in the runtime libraries.
-
- * mathlib.cpp is now obsolete and was removed from all project files.
- If you have projects that include this, it would be wise to remove
- it from those projects.
-
- * fenv.h is now a common header in MSL C/MSL Common/Public Includes.
-
- * float.mac.c and float.win32.c have been replaced by a common file
- float.c, in MSL C/MSL Common/Source. The two architecture specific
- files should no longer be included in MSL. All MSL C projects have
- been updated to reflect this change. If you have projects that
- include these two files, it would be wise to remove them from your
- projects.
-
- * MSL no longer uses the header file fp.h. On the Mac, math.h is
- used instead. The fp.h header can still be used by Mac projects,
- which will supersede the math.h usage, but may conflict with some
- prototypes in math.h.
-
- * xglob.c and xscalb.c have been removed from all versions of win32
- MSL C. These functions have been integrated into the new fpce.obj
- file. In addition, the functions hypot, rint, isfinite, and isnan
- have also been included in the fpce.obj file.
-
- * On win32, the API finite has been removed from math.obj and replaced
- with the standard macro isfinite. Any code that called the API
- finite must now use isfinite instead.
-
- * long long support now implemented (__MSL_LONGLONG_SUPPORT__ in
- ansi_parms.h) in C and C++ libraries. Increases size of library
- by 10K when enabled.
-
-
- ========================================================================
- Bugs Fixed in This Version
- ========================================================================
-
- * memmove and memcpy for 68K are now seen in the 68K
-
- * valarry_longdouble.h fixed a bug in the code uncovered by the new
- compiler. Pseudo constructors are no longer allowed
- Examples:
- Old: fill_n(_ptr, _len, longdouble());
- New: fill_n(_ptr, _len, 0.0);
- Old: long double max_val = long double();
- New: long double max_val = 0.0;
- Old: return(long double());
- New: return(0.0);
-
- * The "#pragma once on" in the ansi_prefix.{mac,win32}.h files and in
- the MSL.pch++ file has been commented out. While switching this
- pragma on can improve compilation speed, it may cause problems with
- the use of assert.h, which generally depends on being included more
- than once during the compilation.
-
- * ctype.c and ctype.h now include the extended character set on Mac;
- In addition, they fixed a bug with toupper and tolower functions,
- which did not handle EOF correctly.
-
- * MW00019
- Fixed bug with leap year calculation for day number for March 1996
-
- * MW00172
- MW00203
- MW01294
- operator new now throws exception
-
- * MW00196
- MW00782
- Fixed __fileno link error on win32
-
- * MW00200
- MW00851
- vector<T>::at now correctly throws out of range error
-
- * MW00203
- MW00172
- MW01294
- operator new now throws exception
-
- * MW00275
- Corrected handling of white spaces in istream
-
- * MW00288
- Windows console applications now stop before exiting so that
- output can now be viewed
-
- * MW00291
- MW00460
- MW00998
- Corrected problem of printing trailing zeros for float type
-
- * MW00303
- * MW00311
- Corrected problem with printing signed infinity for %g
-
- * MW00306
- Corrected problem with printing position of sign in combination
- with zero fill
-
- * MW00334
- Fixes problem with failbit in getline
-
- * MW00337
- MW00629
- Defined HUGE_VAL for win32 applications
-
- * MW00346
- Fixed a null pointer dereference in basic_string
-
- * MW00348
- MW00441
- MW00452
- stat and localtime returned different values on Mac (due to
- difference in epochs 1900 and 1904). Now stat and localtime
- calculate time based on unix epoch as specified by Posix
-
- * MW00396
- Fixed a problem in calculating the number of blanks to replace
- a '\t' before writing to the console when it follows a '\n' in
- a long string
-
- * MW00422
- MW01493
- Fixed problems in scanf to count input characters correctly
- even when assignment suppressed and to make sure non-matching
- character is left unread even when assignment is suppressed
-
- * MW00441
- * MW00452
- MW00348
- stat and localtime returned different values on Mac (due to
- difference in epochs 1900 and 1904). Now stat and localtime
- calculate time based on unix epoch as specified by Posix
-
- * MW00460
- MW00998
- MW00291
- Corrected problem of printing trailing zeros for float type
-
- * MW00478
- Fixed destructor and erase function for list
-
- * MW00491
- Fixed typo in algorithm.h where parameters of find_first_of were
- typed in as ForwardIterator2 instead of ForwardIterator1
-
- * MW00606
- Fixed typo in FSp-fopen.h from __path2fss__ to __FSp_fopen__
-
- * MW00629
- MW00337
- Defined HUGE_VAL for win32 applications
-
- * MW00641
- * MW00670
- Fixed destructor in basic_streambuf which called delete twice
- and an additional problem that attempts to read from memory
- that was deallocated
-
- * MW00645
- MW01489
- Corrected implementation of print_integral_type in mlocale.h
-
- * MW00703
- Fixed relation operators with NAN operands - now returns false
- in all cases
-
- * MW00763
- * MW00768
- MW01521
- MW01693
- Fixed a problem in fseek which occurred on files opened for r/w
- where a call to fseek did not cause the buffer to be reloaded
- between reads and writes
-
- * MW00780
- MW00828
- MW01548
- Explicit keyword now implemented in mcompile.h
-
- * MW00782
- MW00196
- Fixed __fileno link error on win32
-
- * MW00787
- Fixed an error in order of includes in math.h
-
- * MW00807
- Action of \r in SIOUX corrected to return current writing
- position to the beginning of the current line, erasing the
- reset of the line
-
- * MW00809
- Made stderr properly unbuffered so that error messages are
- produced immediately
-
- * MW00825
- <locale> needed to include the mcompile.h header
-
- * MW00826
- Fixed a comparison of locale names with == operator
-
- * MW00828
- MW00780
- MW01548
- Explicit keyword now implemented in mcompile.h
-
- * MW00838
- MW01075
- MW01446
- Fixed memory leak with ostringstream
-
- * MW00850
- Fixed bugs in complex math functions pow
-
- * MW00851
- MW00200
- vector<T>::at now correctly throws out of range error
-
- * MW00876
- sentry class lost first character on the stream if its high
- order bit was set
-
- * MW00877
- Set errno for fopen (not part of Standard, but often requested)
-
- * MW00998
- MW00291
- MW00460
- Corrected problem of printing trailing zeros for float type
-
- * MW01075
- MW00838
- MW01446
- Fixed memory leak with ostringstream
-
- * MW01232
- Fixed problem when using the L modifier
-
- * MW01251
- Removed inlining of math intrinsics in C++ library
-
- * MW01283
- MW01902
- Fixes %y modifier if year is 2000 or beyond (three digits)
-
- * MW01294
- MW00172
- MW00203
- operator new now throws exception
-
- * MW01298
- float.win32.c and float.mac.c have been replaced by float.c
-
- * MW01380
- Fixed problem with complex division on win32
-
- * MW01382
- Fixed num2dec in ansi_fp.c not using enough significant digits
-
- * MW01400
- Fixes ostringstream buffer expansion error
-
- * MW01446
- MW00838
- MW01075
- Fixed memory leak with ostringstream
-
- * MW01489
- MW00645
- Corrected implementation of print_integral_type in mlocale.h
-
- * MW01493
- MW0422
- Fixed problems in scanf to count input characters correctly
- even when assignment suppressed and to make sure non-matching
- character is left unread even when assignment is suppressed
-
- * MW01521
- MW00763
- MW00768
- MW01693
- Fixed a problem in fseek which occured on files opened for r/w
- where a call to fseek did not cause the buffer to be reloaded
- between reads and writes
-
- * MW01548
- MW00828
- MW00780
- Explicit keyword now implemented in mcompile.h
-
- * MW01588
- Removed inlining of math functions in math.h
-
- * MW01686
- Fixed a problem with printf that inserted a spurious null byte in
- the output
-
- * MW01693
- MW00763
- MW00768
- MW01521
- Fixed a problem in fseek which occured on files opened for r/w
- where a call to fseek did not cause the buffer to be reloaded
- between reads and writes
-
- * MW01835
- Wrapped MSLPartialPrefix.h with "#ifdef __cplusplus" to alleviate
- need to activate the C++ compiler for C projects using precompiled
- headers
-
- * MW01891
- Fixed a problem with va_arg when first arg is only one character
-
- * MW01902
- MW01283
- Fixes %y modifier if year is 2000 or beyond (three digits)
-
- * MW02173
- unistd.mac.h should include ToolUtils.h instead of TextUtils.h to
- find GetString(). This was uncovered as a result of installing
- the new universal headers
-
-
- ========================================================================
- Known Bugs and Incompatibilities
- ========================================================================
-
- * The namespace "std" is not implemented in this release of MSL. It
- will be implemented in the next release. If you try to turn on
- namespaces in this release, you will get lots of library errors.
-
- * iterator_trait depends on a partial template specialization for
- pointer based iterator types. Partial specializations are not
- supported by the compiler yet, so the __MSL_FIX_ITERATORS__ macro
- is still required for the iterator traits specializations:
- Example:
-
- class example { }
-
- __MSL_FIX_ITERATORS__ (example);
- __MSL_FIX_ITERATORS__ (const example);
- __MSL_FIX_ITERATORS__ (example *);
- __MSL_FIX_ITERATORS__ (example * const);
-
- * The wchar.h and wctype.h headers have not yet been implemented.
- They will be available in the next release.
-
- * This version of MSL will not work with previous versions (pre Pro2)
- of the universal headers on the Mac.
-
- * DebugNew cannot be used with array allocations of new to
- validate that a pointer points to a valid, uncorrupted block,
- because the destructor does not deallocate the space properly.
- (Bug Reports: MW00172, MW00319, MW01291, MW01292)
-
- * Known Bug Reports (Please note that bug reports received since
- October 1, 1997, have not yet been verified, and hence, are not
- listed here):
-
- MW00095 stdio.h bit field member file_kind is 2 bits, but the
- associated enum contains 5 values
-
- MW00149 mlocale.h functions do_pos_format() and do_neg_format()
- call money_base::get_pat() instead of returning pattern
- defined in the functions
-
- MW00156 ungetc on win32 operates differently than on the Mac
-
- MW00294 fopen does note follow aliases correctly
-
- MW00319 memory leak in ios_base::Init::init (iostream.cpp)
-
- MW00346 memory leak in uninitialized_fill_n when exception is
- thrown
-
- MW00427 including <valarray> more than once causes multiple
- defines
-
- MW00445 problems seeking past EOF on Mac with lseek
-
- MW00456 rename does not rename directories on Mac
-
- MW00593 auto_ptr does not implement mutable keyword
-
- MW00622 basic_streambuf<char T, traits>::sputbackc does not
- correctly call pbackfail
-
- MW00656 MSL runtime project will not compiler under Require
- Function Prototypes due to missing headers
-
- MW00767 basic_string [] operator does not return const_ref
-
- MW00771 ifstream does not properly set failbit
-
- MW00805 If vector allocation or copy fails, dangling pointers
- are left pointing to deallocated blocks of storage
-
- MW00827 locale::facet should be declared explicit
-
- MW00950 win32 reads doubles incorrectly if reading a file with
- unix end of line
-
- MW01227 wchar not supported by library
-
- MW01300 mode_t defined in both stat.win32.h and fcntl.win32.h
-
- MW01321 problem with fseek and ftell on win32 platforms
-
- MW01597 fcntl.win32.h open is redefined to _open, which causes
- problems with ofstream.open
-
-
- ========================================================================
- Additional Notes
- ========================================================================
-
- * Compiling SGI's STL with Pro2:
- The current version of STI's STL may be imcompatible with the 2.0
- compiler. A compatible version of SGI's STL will be available
- shortly at <http://www.metrowerks.com/tools/misc/hotlist.html>
-
- * Precompiled header stationary sets precompiled headers to 4i-8d.
- When using precompiled headers built from the stationary, please
- ensure that the libraries you include in your project are also 4i-8d.
- If changing the precompiled headers preferences panels, please ensure
- that you build the associated libraries you plan to use with the same
- options. A "#pragma check_header_flags" has been added to MSL.pch++
- to help check for these types of errors.
-
- * Build scripts for multi-target projects
- ##### Vicki #####
-
- * Console applications for windows projects now stop before exiting so
- that output can be viewed. This feature can be turned off by setting
- the preprocessor macro STOP_PROGRAM_BEFORE_EXIT in the windows
- prefix file, ansi_prefix.win32.h. Be sure to rebuild MSL C after
- making this change. Please note that if you redirect output to a
- serial device (such as a printer), you must still press enter to
- exit the program.
-
- * There is a vbscript script in the "Metrowerks Standard Library"
- directory that rebuilds the precompiled header files, the win32
- runtime, and all MSL libraries. Read the information at the top of
- the script file "msl_build.vbs" if you have problems running the
- script. The file "msl_list" in the same directory can be configured
- to build exactly those libraries you wish to build. If errors occur
- while building, they are logged in the file "error.log" in the
- "Metrowerks Standard Library" directory.
-
-
- ========================================================================
- Contacting Metrowerks
- ========================================================================
-
- For bug reports, technical questions, and suggestions, please use the
- forms in the Release Notes folder on the CD, and send them to
-
- support@metrowerks.com
-
- See the CodeWarrior on the Nets document in the Release Notes folder for
- more contact information, including a list of Internet newsgroups,
- online services, and patch and update sites.
-
- ========================================================================
-
-
- Metrowerks Corporation